
package cn.fl.audit.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.audit.dto.AudCreditInfoDTO;
import cn.fl.audit.vo.AudCreditInfoVO;

 /**
 * @Description: 信审整体资料 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class AudCreditInfoVOTransform {


	/**
	 * DTO 转  VO
	 * @param dto AudCreditInfoDTO
	 * @return AudCreditInfoVO
	 */
	public static AudCreditInfoVO toVO(AudCreditInfoDTO dto) {
		AudCreditInfoVO  vo = null;
		if (dto != null) { 
			vo = new AudCreditInfoVO();
			vo.setId(dto.getId());
			vo.setProjectId(dto.getProjectId());//项目ID
			vo.setProIntId(dto.getProIntId());//流程实例ID
			vo.setActualAreaCd(dto.getActualAreaCd());//实际区域-数据字典
			vo.setProductTypeCd(dto.getProductTypeCd());//产品类型
			vo.setDriverInfo(dto.getDriverInfo());//司机情况
			vo.setStartplace(dto.getStartplace());//出发地
			vo.setDestination(dto.getDestination());//目的地
			vo.setTripGoods(dto.getTripGoods());//去程货物
			vo.setTripGoodsMainCd(dto.getTripGoodsMainCd());//去程货物大类
			vo.setTripGoodsSubCd(dto.getTripGoodsSubCd());//去程货物小类
			vo.setReturnGoods(dto.getReturnGoods());//回程货物
			vo.setReturnGoodsMainCd(dto.getReturnGoodsMainCd());//回程货物大类
			vo.setReturnGoodsSubCd(dto.getReturnGoodsSubCd());//回程货物小类
			vo.setMainGoodsCd(dto.getMainGoodsCd());//主货物大类
			vo.setWeight(dto.getWeight());//承载数量
			vo.setFareType(dto.getFareType());//运费计算方式-数据字典
			vo.setReturnNum(dto.getReturnNum());//往返趟数
			vo.setMonthIncome(dto.getMonthIncome());//月净收入
			vo.setMonthRepayment(dto.getMonthRepayment());//月还款
			vo.setDistance(dto.getDistance());//运距
			vo.setExperience(dto.getExperience());//运营经验
			vo.setUseMainTypeCd(dto.getUseMainTypeCd());//车辆用途大类-数据字典
			vo.setUseSubTypeCd(dto.getUseSubTypeCd());//车辆用途小类-数据字典
			vo.setPassengersCd(dto.getPassengersCd());//载客数
			vo.setChargingType(dto.getChargingType());//计费方式-数据字典
			vo.setMonthOutDays(dto.getMonthOutDays());//月出车天数
			vo.setWorkTypeCd(dto.getWorkTypeCd());//工作方式-数据字典
			vo.setIndustryTypeCd(dto.getIndustryTypeCd());//所属行业-数据字典
			vo.setProfessionCd(dto.getProfessionCd());//职业
			vo.setPostCd(dto.getPostCd());//职务
			vo.setWorkYeays(dto.getWorkYeays());//从业年限
			vo.setIncome(dto.getIncome());//收入情况
			vo.setEquipmentUse(dto.getEquipmentUse());//设备用途
			vo.setOwnLand(dto.getOwnLand());//自有耕地
			vo.setContractLand(dto.getContractLand());//承包耕地
			vo.setContractYeays(dto.getContractYeays());//承包年限
			vo.setContractPrice(dto.getContractPrice());//地租单价
			vo.setGrowCrops(dto.getGrowCrops());//种植作物
			vo.setYield(dto.getYield());//产量/斤
			vo.setSaleTime(dto.getSaleTime());//出售时间
			vo.setSalePrice(dto.getSalePrice());//出售单价/斤
			vo.setGrossIncome(dto.getGrossIncome());//种植毛收入
			vo.setNetIncome(dto.getNetIncome());//种植净收入
			vo.setWorkArea(dto.getWorkArea());//作业区域
			vo.setWorkRange(dto.getWorkRange());//作业范围
			vo.setWorkSize(dto.getWorkSize());//作业面积
			vo.setWorkPrice(dto.getWorkPrice());//作业单价
			vo.setWorkIncome(dto.getWorkIncome());//作业净收入
			vo.setWorkTime(dto.getWorkTime());//作业时间
			vo.setSelfTkDesc(dto.getSelfTkDesc());
			vo.setProfitCd(dto.getProfitCd());
			vo.setGoods(dto.getGoods());
			vo.setRoute(dto.getRoute());
			vo.setGoodsResCd(dto.getGoodsResCd());
			vo.setSettlementTypeCd(dto.getSettlementTypeCd());
			vo.setSecondPayResCd(dto.getSecondPayResCd());
			vo.setOtherInfo(dto.getOtherInfo());
			vo.setQualificationOpn(dto.getQualificationOpn());
			vo.setInfomationOpn(dto.getInfomationOpn());
			vo.setSchemeOpn(dto.getSchemeOpn());
			vo.setRiskOpn(dto.getRiskOpn());
			vo.setOffLionContract(dto.getOffLionContract());
			vo.setIsNew(dto.getIsNew());
			vo.setProcessOpinionCd(dto.getProcessOpinionCd());
			vo.setCstMgrLvlCd(dto.getCstMgrLvlCd());
			vo.setLocalLiveTmCd(dto.getLocalLiveTmCd());
			vo.setRiskCtrlLvlCd(dto.getRiskCtrlLvlCd());
			vo.setFirstPayResCd(dto.getFirstPayResCd());
			
			vo.setLocalOrNo(dto.getLocalOrNo());
			vo.setIndustryTypeCd(dto.getIndustryTypeCd());
			vo.setCstOpn(dto.getCstOpn());
			vo.setGuaOpn(dto.getGuaOpn());
			vo.setUgRlOpn(dto.getUgRlOpn());
			vo.setHouseCret(dto.getHouseCret());
			vo.setWasteBook(dto.getWasteBook());
			vo.setCompanyDetail(dto.getCompanyDetail());
			vo.setFinancialState(dto.getFinancialState());
			vo.setTripartite(dto.getTripartite());
			vo.setIsMeetPolicyCd(dto.getIsMeetPolicyCd());
			vo.setGoodsDisp(dto.getGoodsDisp());
			vo.setIsSelfAnswer(dto.getIsSelfAnswer());
			vo.setIdentityCd(dto.getIdentityCd());
			vo.setRepayTypCd(dto.getRepayTypCd());
			vo.setIncomeSchema(dto.getIncomeSchema());
			vo.setPbcCreditInfo(dto.getPbcCreditInfo());
			vo.setTripCreditInfo(dto.getTripCreditInfo());
			vo.setOwnCreditInfo(dto.getOwnCreditInfo());
			vo.setHighEasonCharterdBus(dto.getHighEasonCharterdBus());
			vo.setPeakEasonCharterdBus(dto.getPeakEasonCharterdBus());
			vo.setOtherFeePct(dto.getOtherFeePct());

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
			
			vo.setTripGoodsMainCdNm(dto.getTripGoodsMainCdNm());//去程货物大类
			vo.setTripGoodsSubCdNm(dto.getTripGoodsSubCdNm());//去程货物小类
			vo.setReturnGoodsMainCdNm(dto.getReturnGoodsMainCdNm());//回程货物大类
			vo.setReturnGoodsSubCdNm(dto.getReturnGoodsSubCdNm());//回程货物小类
			vo.setMainGoodsCdNm(dto.getMainGoodsCdNm());//主货物大类
			vo.setUseMainTypeCdNm(dto.getUseMainTypeCdNm());//车辆用途大类
			vo.setUseSubTypeCdNm(dto.getUseSubTypeCdNm());//车辆用途小类
			vo.setPassengersCdNm(dto.getPassengersCdNm());//载客数
			vo.setWorkTypeCdNm(dto.getWorkTypeCdNm());//工作方式
			vo.setIndustryTypeCdNm(dto.getIndustryTypeCdNm());//所属行业
			vo.setProfessionCdNm(dto.getProfessionCdNm());//职业
			vo.setPostCdNm(dto.getPostCdNm());//职务
			vo.setAudCarInfoVOList(AudCarInfoVOTransform.toVOList(dto.getAudCarInfoDTOList()));//信审维护产品信息
			vo.setActualAreaCdNm(dto.getActualAreaCdNm());
			vo.setIsNewNm(dto.getIsNewNm());
			vo.setProcessOpinionCdNm(dto.getProcessOpinionCdNm());
			vo.setCstMgrLvlCdNm(dto.getCstMgrLvlCdNm());
			vo.setLocalLiveTmCdNm(dto.getLocalLiveTmCdNm());
			vo.setRiskCtrlLvlCdNm(dto.getRiskCtrlLvlCdNm());
			vo.setFirstPayResCdNm(dto.getFirstPayResCdNm());
			
			vo.setGoodsNm(dto.getGoodsNm());
			vo.setGoodsResCdNm(dto.getGoodsResCdNm());
			vo.setSettlementTypeCdNm(dto.getSettlementTypeCdNm());
			vo.setSecondPayResCdNm(dto.getSecondPayResCdNm());
			vo.setDriverInfoNm(dto.getDriverInfoNm());
			vo.setProfitCdNm(dto.getProfitCdNm());
			vo.setCircuitType(dto.getCircuitType());
			vo.setCargoWeigth(dto.getCargoWeigth());
			vo.setCargoVomule(dto.getCargoVomule());
			vo.setHandingMode(dto.getHandingMode());
			vo.setCircuitEfficiency(dto.getCircuitEfficiency());
			vo.setFare(dto.getFare());
			vo.setVisitStatus(dto.getVisitStatus());
			//贷前风险标记
			vo.setPreLoanRiskFlagCd(dto.getPreLoanRiskFlagCd());
			vo.setAudRemainPro(dto.getAudRemainPro());//信审遗留问题（add by JL 20190819）
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param vo AudCreditInfoVO
	 * @return AudCreditInfoDTO
	 */
	public static AudCreditInfoDTO toDTO(AudCreditInfoVO vo) {
		AudCreditInfoDTO dto = null;
		if (vo != null) {
			dto = new AudCreditInfoDTO();
			dto.setId(vo.getId());
			dto.setProjectId(vo.getProjectId());//项目ID
			dto.setProIntId(vo.getProIntId());//流程实例ID
			dto.setActualAreaCd(vo.getActualAreaCd());//实际区域-数据字典
			dto.setProductTypeCd(vo.getProductTypeCd());//产品类型
			dto.setDriverInfo(vo.getDriverInfo());//司机情况
			dto.setStartplace(vo.getStartplace());//出发地
			dto.setDestination(vo.getDestination());//目的地
			dto.setTripGoods(vo.getTripGoods());//去程货物
			dto.setTripGoodsMainCd(vo.getTripGoodsMainCd());//去程货物大类
			dto.setTripGoodsSubCd(vo.getTripGoodsSubCd());//去程货物小类
			dto.setReturnGoods(vo.getReturnGoods());//回程货物
			dto.setReturnGoodsMainCd(vo.getReturnGoodsMainCd());//回程货物大类
			dto.setReturnGoodsSubCd(vo.getReturnGoodsSubCd());//回程货物小类
			dto.setMainGoodsCd(vo.getMainGoodsCd());//主货物大类
			dto.setWeight(vo.getWeight());//承载数量
			dto.setFareType(vo.getFareType());//运费计算方式-数据字典
			dto.setReturnNum(vo.getReturnNum());//往返趟数
			dto.setMonthIncome(vo.getMonthIncome());//月净收入
			dto.setMonthRepayment(vo.getMonthRepayment());//月还款
			dto.setDistance(vo.getDistance());//运距
			dto.setExperience(vo.getExperience());//运营经验
			dto.setUseMainTypeCd(vo.getUseMainTypeCd());//车辆用途大类-数据字典
			dto.setUseSubTypeCd(vo.getUseSubTypeCd());//车辆用途小类-数据字典
			dto.setPassengersCd(vo.getPassengersCd());//载客数
			dto.setChargingType(vo.getChargingType());//计费方式-数据字典
			dto.setMonthOutDays(vo.getMonthOutDays());//月出车天数
			dto.setWorkTypeCd(vo.getWorkTypeCd());//工作方式-数据字典
			dto.setIndustryTypeCd(vo.getIndustryTypeCd());//所属行业-数据字典
			dto.setProfessionCd(vo.getProfessionCd());//职业
			dto.setPostCd(vo.getPostCd());//职务
			dto.setWorkYeays(vo.getWorkYeays());//从业年限
			dto.setIncome(vo.getIncome());//收入情况
			dto.setEquipmentUse(vo.getEquipmentUse());//设备用途
			dto.setOwnLand(vo.getOwnLand());//自有耕地
			dto.setContractLand(vo.getContractLand());//承包耕地
			dto.setContractYeays(vo.getContractYeays());//承包年限
			dto.setContractPrice(vo.getContractPrice());//地租单价
			dto.setGrowCrops(vo.getGrowCrops());//种植作物
			dto.setYield(vo.getYield());//产量/斤
			dto.setSaleTime(vo.getSaleTime());//出售时间
			dto.setSalePrice(vo.getSalePrice());//出售单价/斤
			dto.setGrossIncome(vo.getGrossIncome());//种植毛收入
			dto.setNetIncome(vo.getNetIncome());//种植净收入
			dto.setWorkArea(vo.getWorkArea());//作业区域
			dto.setWorkRange(vo.getWorkRange());//作业范围
			dto.setWorkSize(vo.getWorkSize());//作业面积
			dto.setWorkPrice(vo.getWorkPrice());//作业单价
			dto.setWorkIncome(vo.getWorkIncome());//作业净收入
			dto.setWorkTime(vo.getWorkTime());//作业时间
			dto.setSelfTkDesc(vo.getSelfTkDesc());
			dto.setProfitCd(vo.getProfitCd());
			dto.setGoods(vo.getGoods());
			dto.setRoute(vo.getRoute());
			dto.setGoodsResCd(vo.getGoodsResCd());
			dto.setSettlementTypeCd(vo.getSettlementTypeCd());
			dto.setSecondPayResCd(vo.getSecondPayResCd());
			dto.setOtherInfo(vo.getOtherInfo());
			dto.setQualificationOpn(vo.getQualificationOpn());
			dto.setInfomationOpn(vo.getInfomationOpn());
			dto.setSchemeOpn(vo.getSchemeOpn());
			dto.setRiskOpn(vo.getRiskOpn());
			dto.setOffLionContract(vo.getOffLionContract());
			dto.setIsNew(vo.getIsNew());
			dto.setProcessOpinionCd(vo.getProcessOpinionCd());
			dto.setCstMgrLvlCd(vo.getCstMgrLvlCd());
			dto.setLocalLiveTmCd(vo.getLocalLiveTmCd());
			dto.setRiskCtrlLvlCd(vo.getRiskCtrlLvlCd());
			dto.setFirstPayResCd(vo.getFirstPayResCd());
			
			dto.setLocalOrNo(vo.getLocalOrNo());
			dto.setIndustryTypeCd(vo.getIndustryTypeCd());
			dto.setCstOpn(vo.getCstOpn());
			dto.setGuaOpn(vo.getGuaOpn());
			dto.setUgRlOpn(vo.getUgRlOpn());
			dto.setHouseCret(vo.getHouseCret());
			dto.setWasteBook(vo.getWasteBook());
			dto.setCompanyDetail(vo.getCompanyDetail());
			dto.setFinancialState(vo.getFinancialState());
			dto.setTripartite(vo.getTripartite());
			dto.setIsMeetPolicyCd(vo.getIsMeetPolicyCd());
			dto.setGoodsDisp(vo.getGoodsDisp());
			dto.setIsSelfAnswer(vo.getIsSelfAnswer());
			dto.setIdentityCd(vo.getIdentityCd());
			dto.setRepayTypCd(vo.getRepayTypCd());
			dto.setIncomeSchema(vo.getIncomeSchema());
			dto.setPbcCreditInfo(vo.getPbcCreditInfo());
			dto.setTripCreditInfo(vo.getTripCreditInfo());
			dto.setOwnCreditInfo(vo.getOwnCreditInfo());
			dto.setHighEasonCharterdBus(vo.getHighEasonCharterdBus());
			dto.setPeakEasonCharterdBus(vo.getPeakEasonCharterdBus());
			dto.setOtherFeePct(vo.getOtherFeePct());

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
			
			dto.setAudCarInfoDTOList(AudCarInfoVOTransform.toDTOList(vo.getAudCarInfoVOList()));//信审维护产品信息
			dto.setTaskDefKey(vo.getTaskDefKey());
			dto.setTaskNm(vo.getTaskNm());
			dto.setCircuitType(vo.getCircuitType());
			dto.setCargoWeigth(vo.getCargoWeigth());
			dto.setCargoVomule(vo.getCargoVomule());
			dto.setHandingMode(vo.getHandingMode());
			dto.setCircuitEfficiency(vo.getCircuitEfficiency());
			dto.setFare(vo.getFare());
			dto.setVisitStatus(vo.getVisitStatus());
			//贷前风险标记
			dto.setPreLoanRiskFlagCd(vo.getPreLoanRiskFlagCd());
			dto.setAudRemainPro(vo.getAudRemainPro());//信审遗留问题（add by JL 20190819）
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param list List<AudCreditInfoDTO>
	 * @return List<AudCreditInfoVO>
	 */
	public static List<AudCreditInfoVO> toVOList(List<AudCreditInfoDTO> list) {
		List<AudCreditInfoVO>  voList = new ArrayList<AudCreditInfoVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (AudCreditInfoDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<AudCreditInfoVO>
	 * @return List<AudCreditInfoDTO>
	 */
	public static List<AudCreditInfoDTO> toDTOList(List<AudCreditInfoVO> list) {
		List<AudCreditInfoDTO>  dtoList = new ArrayList<AudCreditInfoDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (AudCreditInfoVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
